A database management system (DBMS) is a software application that can be utilized to store data into, retrieve data from, and modify data stored in a database. The DBMS can typically interact with a user, other applications, and the database itself to achieve these purposes. It may be desirable that DBMSs manage data efficiently. However, the amount of data stored in databases has been continuously increasing. Furthermore, databases have become increasingly distributed. Many users may be simultaneously working on data pipelines of the database, and data may be flowing along those data pipelines. As such, it has become increasingly complex to manage the data efficiently.
Advances in processor and network capabilities have also increased the capabilities of using multiple processors working in parallel to perform complex computing tasks. This type of parallel processing can sometimes be referred to as “cloud computing.” By distributing complex tasks across many processors, the overall time to complete a complex task can be reduced. Unfortunately, the ability to use parallel resources also means that a complex task may be performed multiple times by distinct processors, leading to waste of resources due to duplication of work.